package my.utils;

import java.io.IOException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public final class EncrityUtil {
    /**
     * 先使用MD5加密然后使用BASE64加密
     * @param 要加密的字符串
     * @return 加密后的字符串,失败为空
     */
	public static String encrity(String s){
		try {
			MessageDigest digest = MessageDigest.getInstance("MD5");
			byte[] bys = digest.digest(s.getBytes());
			return EnByBase64(bys);
		} catch (NoSuchAlgorithmException e) {
			e.printStackTrace();
			return "";
		}
	}
	/**
	 * 使用BASE64加密
	 * @param 字节数组
	 * @return 加密后的字符串
	 */
	public static String EnByBase64(byte[] bys){
		BASE64Encoder encode = new BASE64Encoder();
		return encode.encode(bys);
	}
	/**
	 * 解码BASE64
	 * @param 要使用BASE64解密的字符串
	 * @return 解密BASE64后的字节数据
	 */
	public static byte[] DeByBase64(String s){
		BASE64Decoder dec = new BASE64Decoder();
		try {
			return dec.decodeBuffer(s);
		} catch (IOException e) {
			e.printStackTrace();
			return null;
		}
	}
	
	public static void main(String[] args){
		System.out.println(encrity("111111"));
		System.out.println(encrity("aaassasdfdsdsdasfasdfdsfsaaa"));
	}
}
